home *** CD-ROM | disk | FTP | other *** search
- MANUAL VERSION 1.2
- MANDELBROT SET GRAPHICS
- JULIA SET GRAPHICS
-
-
- INTRODUCTION:
-
- Mandlebrot Set Graphics Version 1.2(MSET12) draws graphic
- representations of a function of a complex variable which were first
- introduced by Benoit Mandelbrot. This is a shareware program and
- you are encouraged to copy it and pass it on. It is not necessary
- to know the details of complex variables or their algebra to use or
- enjoy the fascinating behavior of the Mandelbrot Set. It is
- helpful, however, to understand what is being plotted to navigate
- and explore the nearly limitless variety of designs to be found in
- the 'universe' of the Mandelbrot Set.
-
- If you have looked at the directory, you will have noticed that
- there is also a file titled JSET12. This is a program which will
- generate graphics based on the Julia Set; a companion to the
- Mandelbrot Set. This set is named after Gaston Julia, one of the
- pioneers in the field of mathematical functions which exhibit
- chaotic behavior. In fact Mandelbrot was studying Julia Sets when
- he discovered the Mandelbrot Set. This is a more complicated set to
- understand than the Mandelbrot Set and will be treated later in this
- documentation.
-
-
- A Short Mathematics Lesson:
-
- This is not mandatory reading, but only for those interested in the
- details of the calculations the computer is making. Think of your
- computer screen as an X Y plane. To make it a complex plane, we
- assign a vector Z to any point on the plane with the equation
- Z = X + iY
- where i in the square root (sqrt) of -1. Of course, there is no
- sqrt -1 and by conversion i is called 'imaginary'. Using ordinary
- algebra 2 2 2 2
- Z = (X+iY) = X - Y +2iXY.
- All the algebra of complex numbers follows the algebra of ordinary
- numbers where the 'real' terms are collected together and treated as
- one group and the 'imaginary' terms are collected and treated as
- another group. This makes the 'real' and 'imaginary' axes
- independent or orthogonal. Note i * i = -1.
-
- The magnitude of Z is defined as the length of the X Y vector
- 2 2
- magnitude(Z) = sqrt(X + Y ).
-
- The points in the Mandelbrot Set are calculated in the following
- way. Define the recursive formula
- 2
- Z = Z + C
- n+1 n
-
- - 1 -
- where Z is defined as 0 on the first pass and C is a point in the
- complex plane. This formula is calculated over and over again until
- its magnitude exceeds 2. This formula has the curious property that
- as long as the magnitude of the complex vector remains less than 2
- the magnitude of the next recursion may also be less than 2.
- However, once the magnitude exceeds 2 it will never again be less
- than 2 and reach very large magnitudes over the next few
- recursions. The fascinating thing about this recursion is that
- adjacent points which have almost identical coordinates have greatly
- different magnitude stability, i.e. one point may quickly 'blow up'
- and the other not.
-
-
- Plotting The Points:
-
- Each point on your computer screen represents a point which has a
- stability associated with it as defined above. Each point on your
- computer screen in the graphics mode has a pixel associated with
- it. The MSET12 program calculates the stability of each point on
- the screen and assigns a pixel color and brightness as a function of
- the stability of the point. Some points are infinitely stable, e.g.
- X = Y = 0. Others blow up immediately,
- e.g. (X*X+Y*Y) > 4. Between these extremes there are relatively
- sharp boundaries, and it is at these boundaries that the beauty of
- the Mandelbrot Set lies. The MSET12 program allows the user to set
- the location of the central pixel on the screen, the range of values
- of the pixels calculated over the screen's surface, and the palette
- of pixel colors and brightness assigned to the pixels as a function
- of the point's stability.
-
-
- RUNNING MSET12:
-
- There are four parameters which are used to control the MSET12
- program;
- - the type of graphic display,
- - the number of iterations of the recursion executed before the
- program deems the point 'stable' and moves to the next pixel,
- - and the palette used to determine the pixel values (colors),
- - the location of the center pixel on the screen,
- - the range of pixel values covered by the X and Y axes,
-
- The program is started by typing MSET12 and a carriage return. You
- will then be asked which graphics card is installed in your computer
- by using the function keys. Next, you can choose the number of
- iterations desired. Then you select the palette desired. How the
- points appear on the screen, however, depends on the palette
- chosen. There are five palettes available. Each palette will
- change the appearance the array calculated. As a rule, low palette
- numbers are better for the larger ranges. For example, palette 1 or
- 2 will produce more attractive displays with ranges larger than 0.1
- while palettes 3 and 4 will be better for ranges less than 0.1.
- This is not a hard rule and they all will produce interesting
- displays provided the location and range define an interesting
- - 2 -
- area. And then there is the matter of aesthetics. The user is
- encouraged to experiment. Palette 5 is recommended for use with the
- Hercules monochrome adapter card. Finally, the program will then
- prompt you for the X and Y values of the center pixel and the range
- of the pixel values for the X axis. For example, if the X value
- entered is 0 and the range value entered is 1, the range of the X
- axis will be from -0.5 to +0.5. The range of the Y axis will be
- automatically set so that the image is not distorted. The smaller
- the range, the greater the magnification.
-
- MSET12 now has all the parameters needed to calculate the stability
- of a large array of points on the computer screen. It takes a long
- time to complete a Mandelbrot Set. Just how long depends on the
- display selected, the computer clock rate, the microprocessor (8088
- or 80286), whether there is a coprocessor present, and the nature of
- the area selected (stable areas take longer to calculate than
- unstable areas). The CGA display requires 64,000points, EGA
- requires 128,000 points, extended EGA requires 243,200 points, and
- the Hercules requires 250,560 points. The coarse Hercules mode
- plots only 62,000 large pixels and is four times faster than the
- normal Hercules mode. If you have an EGA display, chances are that
- it is CGA compatible so you might wish to search with the CGA mode
- until you have found an interesting area and then use the EGA mode
- to display the final product. Rough approximations are that a 10mHz
- AT with an 80287 coprocessor in the CGA mode and in an unstable area
- can complete an image in 5 minutes where a Hercules monochrome
- graphics equipped 4.7mHz XT in the Hercules mode in a stable area
- can take over 18 hours. Patience is required, but the results are
- often worth it. Extreme patience is required if you do not have a
- coprocessor. If you run out of patience, you can stop the process
- by typing 'S' for stop and then any key to clear the screen. When
- the image is complete, touching any key will clear the screen and
- return to the command line.
-
-
- Tips
-
- A good way to begin is to view the entire region of interest in the
- Mandelbrot Set. Enter the location X = -.5, Y = 0 and a
- Range = 3. The dark areas near the center of the screen are very
- stable areas. They are sometimes called 'lagoons'. The borders to
- the lagoons have the most intricate patterns and are the most
- interesting to investigate. The dark areas near the edges of the
- screen are very unstable and of no interest. This is a slow image
- to complete because there are many stable points in the image.
- Images with many stable points proceed much faster if a low number
- of iterations are selected. Next, it is instructional to locate an
- interesting area and to zoom in on it with successively smaller
- ranges (larger magnifications). One of the most fascinating
- characteristics of the Mandelbrot Set is that no matter how high the
- magnification of the Set, the detail is never lost. Note also that
- the patterns repeat over and over again. The characteristic of
- repetitive patterns at finer and finer detail is called 'fractal', a
- word coined by Benoit Mandelbrot. The MSET12 uses single precision
- - 3 -
- floating point in its calculations for speed. This is the only
- limit to the detail in the patterns and is not a problem to even the
- serious user. Try the following series:
-
- X Y Range Palette
-
- -0.8 0.25 .5 1
-
- -0.75 0.15 .1 2
-
- -0.75 0.113 .02 3
-
- Note that the magnification for each of the series has been
- increased by a factor of 5 over the previous one.
-
- Now that you have the idea, you are on your own. Continue this
- series, or try something new. It is very useful to keep a notebook
- or log of the points you have tried or are trying. Believe me,
- having your computer grinding away for hours on a Set which proves
- to be beautiful and not remembering the location and range is very
- frustrating!
-
-
- JULIA SETS:
-
- When you run the JSET12 program you will notice that the menus are
- almost the same as the MSET12 program. That is because the equation
- solved to generate Julia Set is the same as the equation used for
- the Mandelbrot. Much of what we have said about the Mandelbrot Set
- could also be said of the Julia Set.
-
- Another Mathematics Lesson
-
- The mathematics lesson above was not mandatory. If you wish to
- master the use of the JSET12 program, however, it is necessary to
- have a basic understanding of the math involved. Nothing very deep,
- mind you, but at least a little understanding. If you have skipped
- the mathematics tutorial above, read it now before you proceed.
-
- To generate the Mandelbrot Set, we set Z = 0 on the initial pass
- through the equation 0
- 2
- Z = Z + C
- n+1 n
- and expanded the equation in the complex plane of C. Notice that
- this equation has two complex terms; C and Z. Each of these terms
- represents a two dimensional plane, and the planes are not in the
- same space. In fact, it is not possible for these planes to have
- more than one point in common. The Julia Set is generated by
- setting the value of C as a constant for a whole set and
- incrementing the real and imaginary parts of Z to define the pixel
- 0
-
- - 4 -
- values across the computer screen. The Mandelbrot Set expands the
- equation in the C plane and the Julia Set expands the same equation
- in the Z plane. The characteristics of the Julia Set are important
- 0
- to understand if you are to control the images produced. If C
- values are picked which are in a stable region of the Mandelbrot
- Set, Then the Julia Set will appear as a connected figure with a
- boundary which may appear simple. As the value of C is moved near
- edge of a stable region in the Mandelbrot Set, the boundary of the
- Julia Set exhibits a more complicated structure. Once the value of
- C crosses the Mandelbrot boundary into an unstable region, the Julia
- Set explodes into a set of of small regions which quickly evaporate
- as the value of C moves further into the unstable region. Because
- the appearance of the Julia Set depends on the value of C chosen,
- there are as many Julia Sets as there are values of C. There are
- many Julia Sets, there is only one Mandelbrot Set.
-
-
- RUNNING JSET12:
-
- It is assumed that the reader has already read the MSET12
- instructions and run the program. JSET12 is very similar. The
- major difference is seen when the values controlling the calculation
- of the Set are entered. You are first asked to enter the complex
- values Z (X and Y). It is possible to position the center of the
- JSET12 image on the screen by the selection of Z values. You will
- then enter the complex values for C. This parameter must be entered
- with high precision if it is near the boundary of the Mandelbrot Set
- because it is very sensitive in this region. The boundary of the
- Julia Set shows the same fractal character as the Mandelbrot Set,
- even under high magnification. Finally you will enter the range
- which the value of Z will be varied. The magnitude of the range
- controls the magnification of the image. Small values lead to a
- high magnification.
-
-
- Tips
-
- Let us start by viewing the Julia Set associated with the Mandelbrot
- example in 'Tips' above. We now must enter four coordinates as well
- as the range. When the computer is started on a Julia set using a
- Hercules display, it may take several minutes for the image to begin
- to show. Notice how many of the shapes resemble each other in the
- true fractal fashion. They may remind you of elephants. The second
- example is very near the edge of the Mandelbrot Set and has begun to
- evaporate and break up into a set of separate pinwheels. Try some
- other changes and see what happens.
- - 5 -
-
- X Y real C imag C Range Palette
-
- 0 0 -.74543 .11301 3 5
-
- 0 0 -.76 .11301 3 5
-
-
- The palettes used when displaying JSET12 can alter the appearance of
- the set just as it is in MSET12. The need to change palettes as you
- go to high magnification is not as critical because you will usually
- work with low magnification so that you can display a full set to
- enjoy its symmetry. Palette 5 is always a good choice whether
- displaying Hercules, CGA, or EGA. The other palettes, however,
- should not be ignored because they sometimes make pleasing designs.
-
- Let's try another series:
-
- X Y real C imag C Range Palette
-
- 0 0 .25 0 3 choose any
-
- 0 0 .255 0 3 but keep it
-
- 0 0 .26 0 3 the same for
-
- 0 0 .26 .001 3 the whole
-
- 0 0 .26 .002 3 series
-
- Notice how sensitive the image is to these small changes in the
- parameters. Now let's zoom in on the last set with 6 times
- magnification. The center of the screen is repositioned with
- changes in the X and Y values.
-
- X Y real C imag C Range Palette
-
- .25 .88 .26 .002 .5 any
-
- The beauty of the set's symmetry is lost, but notice how the fine
- detail remains in true fractal fashion. Julia Sets offer more
- variety than Mandelbrot Sets and include aesthetically pleasing
- symmetry. If you would like to see the area of the Mandelbrot Set
- you are in, run MSET12 and enter:
-
- X Y Range Palette
-
- .27 0 .05 3
-
- The area is that in the center left of the screen. Now you are on
- your own to do some exploring.
-
-
-
- - 6 -
-
-
- CONCLUSION:
-
-
- MSET12 and JSET12 are (c) copyrighted by Image Laboratories. They
- are for private use only and may not be modified or sold
- commercially without written permission. These programs may be
- copied freely for private use.
-
- If you like the MSET12 and JSET12 programs, support them by sending
- $35 to:
-
-
- Image Laboratories
- 67 Old Stage Road
- Chelmsford, MA 01824
-
-
- In return, you will receive the latest version of the MSET and JSET
- programs which will allow you to save and display the Mandelbrot and
- Julia Sets you have generated and to color these images with your
- own palettes instead of the ones provided with the program. This
- allows you to save your best images for easy, fast display at a
- future time and for you to apply your own artistic interpretation to
- them.
-
-